iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
AI & Data

30天深度學習-從零到英雄系列 第 21

過度配適(Overfitting)那就抑制吧!

  • 分享至 

  • xImage
  •  

過度配適(Overfitting)是指機器學習模型在訓練過程中過度擬合訓練數據,例如:練誤差很低,但測試誤差很高、損失值(Loss)不減反增。這些情況會導致機器學習模型在新的、未見過的數據上表現不佳。

下面畫出來的直線與資料的擬合度很低,無法解釋大部分的資料點的分佈
https://ithelp.ithome.com.tw/upload/images/20231003/20161909mZ6FMzf3DO.jpg

如果我們將模型改得稍微複雜一點,讓其學習力增加(改畫拋物線),可以發現能解釋的點比上一張圖還多
https://ithelp.ithome.com.tw/upload/images/20231003/2016190942314LdlWK.jpg

如果我的曲線可以完美穿過每一個資料點,也就是訓練出來的模型可以完全解釋每一個數據,這是一個好現象嗎?
https://ithelp.ithome.com.tw/upload/images/20231003/20161909auXxHwuUK8.jpg

如果我又再多餵一些新資料進去給模型,觀察一下我的資料也會在線附近嗎?可以發現模型對新資料的擬和度很差,這就會是一個過度配適(Overfitting)現象
https://ithelp.ithome.com.tw/upload/images/20231003/20161909VX0qJ1nxQ0.jpg

由上面的例子可以得到如果樣本數少,且模型設計過於複雜(參數太多),就可能會導致過度過度配適


抑制過度配適(over-fitting) 常使用下列方法 :

  1. L1 常規化 (regularization) : 又稱 LASSO 迴歸

  2. L2 常規化 (regularization) : 又稱 ridge 迴歸
    L1 常規化跟L2 常規化這兩種方法都是在損失函數中添加懲罰項 (penalty term),在訓練神經網路時,如果神經層的參數值越大就給予越大的懲罰,這樣神經網路就會知道要往參數值較小的方向優化。L1 的損失懲罰項為權重取絕對值後之總和;而 L2 的損失懲罰項則為權重的平方和

  3. 丟棄法 (dropout):是業界人士最常用的方法之一,丟棄法的概念是在每一批次 (batch) 的訓練中,隨機地關閉一些神經元,也就是隨機將該層一定比例的神經元設為 0。
    Q:丟棄法為什麼可以抑制過度配適(over-fitting)呢?
    A:因為這會讓神經網路變成只依賴少數神經元在做計算,那些被關閉的神經元在正向傳播和反向傳播過程中就不會參與,這樣可以降低模型特定依賴某幾種特徵。

訓練回合一
https://ithelp.ithome.com.tw/upload/images/20231003/20161909btG6bElW3t.jpg
訓練回合二
https://ithelp.ithome.com.tw/upload/images/20231003/20161909fARlcREbEW.jpg
訓練回合三
https://ithelp.ithome.com.tw/upload/images/20231003/20161909ihXmL8ubrm.jpg

👆不同訓練回合忽視不同神經元

丟棄法要注意的地方:

  • 丟棄率(Dropout Rate)的選擇:丟棄率是指在每一層中隨機關閉神經元的比例。一般來說,一開始我們會將丟棄率設在0.2到0.5之間。較小的丟棄率通常用在較小的神經網路,較大的丟棄率則用於更深或更大的網路。

  • 不要強行使用:不用強行每一層都要加入丟棄法(Dropout)

  • 考慮批次正規化(Batch Normalization):將我們昨天提到的批次正規化(Batch Normalization)與丟棄法一起使用時,可以進一步提高模型的性能和穩定性。

  1. 資料擴增 (data augmentation)

我們也可以增加訓練的資料,但有時候要我們突然收集到一大筆資料還是有些困難,所以我們會用生成的方式大量「人造」資料,藉以彌補因資料不足而造成之過度配適問題。以手寫數字為例子,我們可以通過一些方式創建人造資料:

  • 變換筆跡風格

  • 模擬角度和傾斜

  • 合成數字

  • 改變亮度、對比度、大小或色調


上一篇
梯度不穩定(unstable gradient)&正規化
下一篇
優化器(Optimizer)👉進化神經網路
系列文
30天深度學習-從零到英雄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言